<?
error_reporting(E_ALL);
ini_set('display_errors', '1');

include ("../conectar.php"); 
include ("../funciones/fechas.php");
include ("../funciones/numeros.php");  

echo "Procesar<br>";
$cob=0;
echo "cob inicial: ".$cob."<br>";

$moneda_c = 2;
echo "moneda factura: ".$moneda_c."<br>";

function valor_cobrar($fila,$cuota)
{    
    global $cob;
    global $moneda_c;

    //echo "fila: ".$fila."<br>";
    //echo " - cob: ".$cob."<br>";
    $vceldas=explode("¬",$fila);
    
    $moneda=$vceldas[1];
    $cotizacion=$vceldas[2];    
    $valor=$vceldas[3];

    echo "moneda: ".$moneda." - cotizacion: ".$cotizacion." - valor: ".$valor."<br>";
    
    $valor=str_replace(".","",$valor);
    $valor=str_replace(",",".",$valor);

    $cotizacion=str_replace(".","",$cotizacion);
    $cotizacion=str_replace(",",".",$cotizacion);

    //echo "moneda: ".$moneda." - cotizacion: ".$cotizacion." - valor: ".$valor."<br>";

    if($cotizacion != "")
    {
	  if($moneda == 1)
	  {
	      $cob+=($valor/$cotizacion);
	  }
	  else
	  {
	      $cob+=($valor*$cotizacion);
	  }
    }
    else
    {
	$cob+=$valor;
    }

    echo "cob: ".$cob."<br>";
    $dif=$cuota - $cob;
    //echo "cuota: ".$cuota." - cob: ".$cob." - dif: ".$dif."<br>";
    
    if($moneda_c == 1)
    {		
	if($dif!=0 && abs($dif) < 1000)
	{
	   $cob+=$dif;
	}
	$cob=round($cob,0);
    }
    else	
	$cob=round($cob,2);

    echo "cob final: ".$cob."<br>";
    return $cob;
}


//$filas="1¬1¬¬10.000.000¬#";

//Facultad
//$filas="1¬1¬¬2.000.000¬#1¬2¬3980¬1.500¬#1¬3¬1950¬49,57¬#";
//$filas="1¬1¬¬2.000.000¬#1¬2¬3980¬1.000¬#";
//$filas="1¬1¬¬5.000.000¬#1¬2¬3980¬1.000¬#1¬2¬4950¬600¬#1¬3¬1950¬521,37¬#";
//dolares
$filas="1¬1¬3980¬2.000.000¬#1¬2¬¬1.500¬#";
//Casa
//$filas="1¬1¬¬2.000.000¬#1¬2¬3980¬1.000¬#1¬3¬1920¬935¬#";
//$filas="1¬1¬¬2.000.000¬#1¬2¬3980¬1.000¬#1¬3¬1920¬935¬#";
//$filas="1¬1¬¬2.000.000¬#1¬2¬3980¬1.000¬#1¬3¬1920¬935¬#";

//Facultad
//$vcuentas=explode(",","1,7"); //total -> 8.066.667
//$vcuentas=explode(",","1,2,7"); //total -> 12.966.667
$vcuentas=explode(",","4,5,10"); //total -> 12.966.667

//Casa
//$vcuentas=explode(",","1,7"); //total -> 7.775.000
//$vcuentas=explode(",","1,2,7"); //total -> 12.675.000

$vfilas=explode("#",$filas);
$tfilas=sizeof($vfilas)-1;

//echo "filas: ".$tfilas."<br><br>";

$x=0;

for($i=0;$i < sizeof($vcuentas);$i++)
{    
    //echo "cuenta nro: ".$vcuentas[$i]."<br>";
    $sql="SELECT valor_cuota,valor_pagado FROM cuentas_cobrar WHERE codigo=$vcuentas[$i]";
    //echo $sql."<br>";
    $rs=mysql_query($sql);
    $valor_cuota=mysql_result($rs,0,"valor_cuota");
    $valor_pagado=mysql_result($rs,0,"valor_pagado");

    $valor_cuota=str_replace(".","",$valor_cuota);	      
    $valor_cuota=str_replace(",",".",$valor_cuota);

    $valor_pagado=str_replace(".","",$valor_pagado);	      
    $valor_pagado=str_replace(",",".",$valor_pagado);

    if($valor_pagado != 0)
	  $cob=$valor_pagado;


    echo "cuota: ".$valor_cuota." - valor_pagado: ".$valor_pagado." - cob: ".$cob."<br>";

    if($x < $tfilas)//&& $cob < $valor_cuota)
    {	
	$cob=valor_cobrar($vfilas[$x],$valor_cuota);
	//echo "cob: ".$cob."<br>";
    }
  
    if($cob >=  $valor_cuota)
    {	
	$valor_pago=$valor_cuota;
	$cob-=$valor_cuota;
    }
    else
    {
	while($x < $tfilas && $cob <= $valor_cuota)
	{
	      //echo "x: ".$x."<br>cuota: ".$valor_cuota;
	    
	      $valor_pago=$cob;
	      $x++;
	      if($x < $tfilas)
		  $cob=valor_cobrar($vfilas[$x],$valor_cuota);	   
	}
	
	if($x == $tfilas)
	{    $valor_pago=$cob;
	     $cob=0;
	}
	else
	{    $valor_pago=$valor_cuota;
	     $cob-=$valor_cuota;
	}
	//$cob-=$valor_cuota;
	
    }

    //estado
    if($valor_pago == $valor_cuota)
	$estado=2;
    else
    {	
	if($valor_pago < $valor_cuota)
	    $estado=1;
    }
    
    if($valor_pago != 0)
    {	$sql_upd="<br>UPDATE cuentas_cobrar SET valor_pagado=$valor_pago, estado='$estado' WHERE codigo=$vcuentas[$i]";
	echo $sql_upd."<br>";
	//$rs_upd=mysl_query($rs_upd);    
    }

    echo "cob resto: ".$cob."<br>";
    if($x < $tfilas)
	$x++;

    //echo "x final: ".$x."<br><br>";
}

if($cob > 0)
  echo "Saldo positivo: ".$cob."<br>";
else
  echo "Saldo negativo: ".$cob."<br>";
?>
